Ensuring Compatible Interactions within Component-based Software Systems
نویسندگان
چکیده
The interface definition of a component in a distributed system forms the contract between the component itself and its neighbouring components regarding the use of its services. In general, such a contract should cover the issues of service functionality, usage and quality. The Interface Definition Languages (IDLs) used by commercial middleware standards such as CORBA primarily address the signature issues of such a contract, i.e., the forms and types of component or object services. Nothing is said about other aspects of the contract, including the way in which the component services are to be used. In this paper, we introduce a framework and associated techniques that augment commercial IDLs with interaction protocol specifications and validate component interactions against such protocol specifications at run-time. In effect, the validation becomes a useful tool for testing whether or not the object services are used properly in a distributed system. Our approach has been implemented in the CORBA context, but can be readily applied to other IDL-based object/component systems.
منابع مشابه
Automating the analysis of design component contracts
Software patterns are a new design paradigm used to solve problems that arise when developing software within a particular context. Patterns capture the static and dynamic structure and collaboration among the components in a software design. A key promise of the pattern-based approach is that it may greatly simplify the construction of software systems out of building blocks and thus reuse exp...
متن کاملFrom Proxy Encryption Primitives to a Deployable Secure-Mailing-List Solution
Proxy encryption schemes transform cipher-text from one key to another without revealing the plain-text. Agents that execute such transformations are therefore minimally trusted in distributed systems leading to their usefulness in many applications. However, till date no application of proxy encryption has been deployed and used in practice. In this work we describe our efforts in developing a...
متن کاملA Formal Framework for Design Component Contracts
Building large software systems out of existing software components can save time and cost. These software components range from architectural and design components to binary components in different phases of software development. Component technologies lead to increasing productivity and flexibility. However, it also introduces significant problems in ensuring the integrity and reliability of ...
متن کاملSoftware Reliability Testing Covering Subsystem Interactions
This article proposes a novel approach to quantitative software reliability assessment ensuring high interplay coverage for software components and decentralized (sub-)systems. The generation of adequate test cases is based on the measurement of their operational representativeness, stochastic independence and interaction coverage. The underlying multi-objective optimization problem is solved b...
متن کاملDefect Proneness forecasting in component based software development : A Generic frame work for OO Systems
Software systems nowadays are composed from prefabricated commercial components and connectors that offer complex functionality and hold in complex interactions. Unfortunately, because of the diverse assumptions made by developers of these products, fruitfully integrating them into a software system can be difficult often causing budget and plan overruns. A number of integration risks can often...
متن کامل